package com.zr.service;

import com.zr.dao.DepartmentDao;

import net.sf.json.JSONObject;

public class DepartmentService {
	DepartmentDao depDao=new DepartmentDao();
	/**
	 * 提供查询部门的服务
	 * @param start  初始记录书
	 * @param rows   分页记录数
	 * @return       返回easyui对应要求的json格式
	 */
	public JSONObject selsectdAlldep(int start,int rows){
		JSONObject jObj=new JSONObject();
		jObj.put("total",depDao.selectAllDepCount() );
		jObj.put("rows", depDao.selectAllDep(start, rows));
		return jObj;
	}
	/**
	 * 通过部门id查询部门当中的员工名字
	 * @param did 传入需要的部门id
	 * @return 返回easyui对应的json格式
	 */
	public JSONObject selectOneDepById(int did){
		JSONObject jObjid=new JSONObject();
		jObjid.put("total", depDao.selectOneDepAndAllWorkerCount(did));
		jObjid.put("rows", depDao.selectDepAndAllWorkerById(did));
		return jObjid;
	}
	/**
	 *提供通过部门名称查询数据的服务
	 * @param dname  部门名称
	 * @return 返回easyui对应的json格式
	 */
	public JSONObject selectDepByName(String dname){
		JSONObject jObjname=new JSONObject();
		jObjname.put("total", depDao.selectDepByName(dname));
		jObjname.put("rows", depDao.selectDepWorkerByName(dname));
		return jObjname;
	}
	/**
	 * 提供批量删除部门的服务
	 * @param did 传入需要的部门id
	 * @return 0删除失败  1删除成功
	 */
	public int deldepBydids(String dids[]){
		int d=0;
		for (int i = 0; i < dids.length; i++) {
			//当所选的部门下有员工时，不能删除该部门，提示删除失败
			if(depDao.selectWorkerBydid(Integer.parseInt(dids[i]))==1){
				d=0;
			}else{
				//能成功删除所选的部门信息
				d=depDao.delDepBydid(Integer.parseInt(dids[i]));
			}
			
		}
		return d;
	}
	/**
	 * �ṩ��Ӳ�����Ϣ�ķ���
	 * @param did  ����id
	 * @param dname �������
	 * @return true ��ӳɹ�  false ���ʧ�� 
	 */
	public boolean addDepInfo(int did,String dname){
		return  depDao.addDepInfo(did,dname);	
	}
	/**
	 * �ṩ����id�Ƿ���ڵķ���
	 * @param did
	 * @return
	 */
	public boolean validateDepId(int did){
		return depDao.validateDepId(did);
	}
}
